Сервис Tsmsmscomm

Сервис tsmsmscomm предназначен для выполнения команд управления роутером через SMS. Доверенные номера телефонов и команды добавляются через веб-интерфейс роутера в разделе "Управление роутером по SMS". Ответ на выполненную команду приходит подписчикам на событие tsmsmscomm result.

Программный интерфейс

Сервис предоставляет методы на системной шине UBUS.

Метод run

Запускает shell-команду (номер и текст команды берутся из конфига, где прописаны разрешенные номера и команды).

Параметр Тип Описание
phone String Номер телефона
message String Текст команды

Пример использования:

ubus call tsmsmscomm run '{ "phone": "+7.....", "message": "sms command" }'

Ответ:

{
  "status": "started"
}

Уведомление о результате

Сервис tsmsmscomm отправляет уведомление c результатом выполненной команды подписчикам на tsmsmscomm (событие: result).

Пример подписки через shell команду:

ubus subscribe 'tsmsmscomm'

Результат события tsmsmscomm result содержит следующие поля:

Поле Описание
trusted_phone Доверенный номер телефона (с которого могут отправить SMS команду и на который отправляется результат выполненной команды)
trusted_email Доверенный Email (на который отправляется текст результата выполненной команды, если он превышает 201 символ / больше чем 3 кусочка смс)
sms_command Текст команды (текст смс команды отправляемый на телефон, текст команды связан с shell командой ключ-значение: текстовая_команда → shell команда)
shell_command Текст shell команды для выполнения
run false или true (Если true, то команда успешно выполнилась без ошибок)
result Записывается текст при возникновении ошибки. Если команда выполнилась без ошибок, то поле остается пустым
tmp_file Путь до файла с текстом выполненной команды

Структура файлов сервиса

├── app.lua
├── tsmsmscomm.lua
└── util.lua
Файл Предпазначение
app.lua Точка входа, основной файл, запускаемый сервисом в автозагрузке устройства
tsmsmscomm.lua Содержит методы выполняющие команду управления роутером через SMS, а также уведомляет подписчиков на tsmsmscomm result событие
util.lua Содержит вспомогательные функции

Конфигурирование

Конфиг файл ( /etc/config/tsmsmscomm ):

config general 'general'
    option debug '0'

config sms_command
    option sms_command ''
    option shell_command ''

config remote_control
    option trusted_phone ''
    option trusted_email ''
Опция Описание
debug Включен или выключен debug
sms_command (в секции sms_command) Текст SMS команды
shell_command (в секции sms_command) Shell команда
trusted_phone Телефон (от данного телефона может приходить команда)
trusted_email Email (адрес куда отправляется результат, если он превышает 201 символ, больше чем 3 кусочка смс)